
#ifndef stack_h
#define stack_h

#define texp(err)	throw("err: " err "(" __FILE__ ")")
#define number		unsigned int

#define stackElem	unsigned int

class stack
{
private:
	stackElem *array;
	number size;
	number top;

public:
	void init(number maxSize);
	void cleanup();
	void push(stackElem num);
	stackElem pop();
	stackElem pick(number depth);
	void print(number count);
	bool isEmpty();
};

#endif
